package com.suntianci.stock.config;

import com.suntianci.stock.pojo.vo.StockInfoConfig;
import com.suntianci.stock.utils.IdWorker;
import com.suntianci.stock.utils.ParserStockInfoUtil;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @ClassName CommonConfig
 * @Author 孙天赐
 * @Date 2024/12/25 10:37
 * @Description TODO: 公共配置类
 */
@Configuration
@EnableConfigurationProperties({StockInfoConfig.class})  // 开启配置类 StockInfoConfig.class
public class CommonConfig {

    /**
     * TODO: 基于雪花算法，保证分布式情况下生成的ID唯一
     * 参数1：机器ID
     * 参数2：机房ID
     * @return
     */
    @Bean
    public IdWorker idWorker(){
        //基于运维人员对机房和机器的编号规划自行约定
        return new IdWorker(1l,2l);

    }

    /**
     * TODO: 定义解析股票 大盘 外盘 个股 板块相关信息的工具类bean
     * @param idWorker
     * @return
     */
    @Bean
    public ParserStockInfoUtil parserStockInfoUtil(IdWorker idWorker){
        return new ParserStockInfoUtil(idWorker);
    }

}